ASP.NET Web Forms এর কন্ট্রোলস (Controls)

Microsoft Technologies - এএসপি ডট নেট ওয়েব (ASP.Net WP)
240
240

ASP.NET Web Forms একটি component-based architecture ব্যবহার করে যেখানে ডেভেলপাররা বিভিন্ন UI controls ব্যবহার করে ইন্টারঅ্যাকটিভ এবং ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন। এগুলোর মধ্যে রয়েছে HTML Server Controls, Web Server Controls, Data-bound Controls, এবং Validation Controls। এই কন্ট্রোলগুলি বিভিন্ন ফাংশনালিটি এবং UI উপাদান প্রদানে সহায়তা করে।


HTML Server Controls

HTML Server Controls হল সেই কন্ট্রোল যা সাধারণ HTML কন্ট্রোলের মতো কাজ করে, তবে ASP.NET Web Forms ফ্রেমওয়ার্কে ব্যবহৃত হয়ে সার্ভার-সাইড কোডের মাধ্যমে নিয়ন্ত্রিত হয়। এগুলি সাধারণত runat="server" অ্যাট্রিবিউটের সাথে ব্যবহৃত হয়, যাতে সার্ভার এই কন্ট্রোলগুলি প্রক্রিয়া করতে পারে।

উদাহরণ:

  • <input type="text" runat="server" id="txtName">
  • <button runat="server" id="btnSubmit">Submit</button>

এই কন্ট্রোলগুলো client-side HTML আউটপুট তৈরি করে, কিন্তু তাদের প্রক্রিয়া এবং ডেটা সার্ভার সাইডে থাকে।


Web Server Controls

Web Server Controls হল ASP.NET এর তৈরি বিশেষ কন্ট্রোল যা সশস্ত্রভাবে ওয়েব অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে। এই কন্ট্রোলগুলি সহজে ডেটা বাইন্ডিং, ইভেন্ট হ্যান্ডলিং এবং অন্যান্য কার্যকারিতা প্রদান করে। এগুলি ডেভেলপারদের কাজকে অনেক সহজ করে তোলে এবং ফিচার সমৃদ্ধ ওয়েব পেজ তৈরি করতে সাহায্য করে।

প্রধান কিছু Web Server Controls:

  • TextBox: ব্যবহারকারী থেকে ইনপুট নেওয়ার জন্য।
  • Button: ইভেন্ট ট্রিগার করতে ব্যবহৃত হয়, যেমন ক্লিক ইভেন্ট।
  • Label: পেজে পাঠ্য প্রদর্শন করতে ব্যবহৃত হয়।
  • DropDownList: ড্রপডাউন তালিকা তৈরি করতে ব্যবহৃত হয়।
  • CheckBox: চেকবক্স তৈরি করার জন্য ব্যবহৃত হয়।
  • RadioButton: একাধিক অপশন থেকে একটি নির্বাচন করার জন্য ব্যবহৃত হয়।

উদাহরণ:

<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
<asp:TextBox ID="txtName" runat="server" />

Data-bound Controls

Data-bound Controls হল সেই কন্ট্রোল যা ডেটাবেস বা অন্য কোনো ডেটা সোর্সের সঙ্গে সংযুক্ত হয়ে ডেটা দেখানোর জন্য ব্যবহৃত হয়। এই কন্ট্রোলগুলো ডেটার সাথে সম্পর্ক স্থাপন করে, যাতে ডেটা থেকে ডাইনামিকভাবে কন্টেন্ট প্রদর্শন করা যায়।

প্রধান কিছু Data-bound Controls:

  • GridView: ডেটা টেবিল হিসেবে দেখানোর জন্য ব্যবহৃত হয়।
  • Repeater: একাধিক ডেটা আইটেম লুপের মাধ্যমে দেখানোর জন্য ব্যবহৃত হয়।
  • DetailsView: একক ডেটা আইটেমের বিস্তারিত দেখানোর জন্য ব্যবহৃত হয়।
  • FormView: ফর্ম ভিত্তিক ডেটা রিটার্ন এবং এডিট করার জন্য ব্যবহৃত হয়।

উদাহরণ:

<asp:GridView ID="gvData" runat="server" AutoGenerateColumns="True" DataSourceID="sqlDataSource" />
<asp:Repeater ID="rptData" runat="server">
    <ItemTemplate>
        <p><%# Eval("Name") %></p>
    </ItemTemplate>
</asp:Repeater>

Validation Controls

Validation Controls হল কন্ট্রোল যা ব্যবহারকারীর ইনপুট যাচাই করতে সহায়তা করে। এগুলি ডেটা যাচাইয়ের জন্য ব্যবহারকারীর ইনপুট যাচাই করে, যেমন একটি টেক্সটবক্সে ফিল্ড পূর্ণ না থাকলে সিস্টেম ভুল দেখাবে বা সীমার বাইরে মান দিলে সতর্কতা দেবে।

প্রধান কিছু Validation Controls:

  • RequiredFieldValidator: একটি ফিল্ডে অবশ্যই ডেটা থাকতে হবে।
  • RangeValidator: একটি নির্দিষ্ট রেঞ্জের মধ্যে মান থাকতে হবে।
  • CompareValidator: দুটি ইনপুট মান তুলনা করতে ব্যবহৃত হয়।
  • RegularExpressionValidator: নির্দিষ্ট প্যাটার্নের সাথে মান তুলনা করা হয় (যেমন ইমেইল ফরম্যাট)।
  • CustomValidator: কাস্টম লজিকের মাধ্যমে যাচাই করা যায়।

উদাহরণ:

<asp:TextBox ID="txtEmail" runat="server" />
<asp:RequiredFieldValidator ID="rfvEmail" runat="server" ControlToValidate="txtEmail" ErrorMessage="Email is required" />
<asp:RangeValidator ID="rvAge" runat="server" ControlToValidate="txtAge" MinimumValue="18" MaximumValue="100" Type="Integer" ErrorMessage="Age must be between 18 and 100" />

ASP.NET Web Forms কন্ট্রোলস এর সুবিধা

  1. UI Components: Web Forms কন্ট্রোলগুলি ডেভেলপারদের অনেক ধরনের UI কম্পোনেন্ট ব্যবহার করতে দেয়, যা অ্যাপ্লিকেশনকে ইন্টারঅ্যাকটিভ এবং ইউজার-ফ্রেন্ডলি করে তোলে।
  2. Data Binding: ডেটাবেসের ডেটা সহজেই কন্ট্রোলগুলোর সাথে বাইন্ড করা যায়, যাতে ডাইনামিক কন্টেন্ট প্রদর্শন করা যায়।
  3. Event Handling: ইভেন্ট-ড্রিভেন প্রোগ্রামিং মডেল ওয়েব অ্যাপ্লিকেশনকে সহজ করে তোলে এবং সার্ভার-সাইড লজিক বাস্তবায়ন সহজ করে।
  4. Validation: বিভিন্ন ধরণের ভ্যালিডেশন কন্ট্রোল দিয়ে ডেটা ইনপুট যাচাই করা যায়, যাতে ভুল ডেটা প্রক্রিয়া হওয়ার সম্ভাবনা কমে।

ASP.NET Web Forms এর কন্ট্রোলগুলো একটি শক্তিশালী এবং কার্যকরী উপায় হিসেবে ব্যবহৃত হয় ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে, যেখানে UI, ইভেন্ট হ্যান্ডলিং, ডেটা বাইন্ডিং এবং ভ্যালিডেশন সহজে ইন্টিগ্রেট করা যায়।

common.content_added_by

HTML Server Controls

218
218

ASP.NET Web Forms এ HTML Server Controls এমন ধরনের কন্ট্রোল যা সাধারণ HTML controls কে server-side হিসেবে ব্যবহার করার সুযোগ দেয়। এগুলি HTML (HyperText Markup Language) এর একটি অংশ হলেও, এগুলিকে server-side processing করার জন্য ASP.NET এর মাধ্যমে ব্যবহার করা হয়।

HTML Server Controls ব্যবহার করার ফলে ডেভেলপাররা client-side HTML কন্ট্রোলগুলিকে server-side কন্ট্রোল হিসেবে ব্যবহার করতে পারেন, যার ফলে সেগুলির জন্য ইভেন্ট হ্যান্ডলিং এবং সার্ভার-সাইড লজিক প্রয়োগ করা সহজ হয়।


HTML Server Controls এর বৈশিষ্ট্য

  • Server-side processing: HTML কন্ট্রোল গুলোকে সার্ভারে প্রক্রিয়া করা হয়, ফলে ডেভেলপাররা সহজেই এসব কন্ট্রোলের সাথে ইভেন্ট পরিচালনা করতে পারেন।
  • Basic HTML elements: HTML Server Controls মূলত TextBox, Button, Label, Image ইত্যাদি HTML এলিমেন্টগুলোকে ASP.NET এর কন্ট্রোল হিসেবে রূপান্তরিত করে।
  • Rendering to HTML: এগুলি ASP.NET তে server-side controls হিসেবে কাজ করলেও, ব্রাউজারে গিয়ে সাধারণ HTML আউটপুট হিসেবে রেন্ডার হয়।
  • Event handling: HTML কন্ট্রোলগুলোতে event handling করা যায়, যেমন Button ক্লিক করা, TextBox এ টেক্সট পরিবর্তন হওয়া ইত্যাদি।

HTML Server Controls এর উদাহরণ

  1. TextBox Control:

    <input type="text" id="txtName" runat="server" />
    

    এখানে runat="server" অ্যাট্রিবিউটটি TextBox কে সার্ভার-সাইড কন্ট্রোল হিসেবে ব্যবহার করার নির্দেশ দেয়।

  2. Button Control:

    <input type="button" value="Click Me" id="btnSubmit" runat="server" OnClick="btnSubmit_Click" />
    

    এখানে OnClick="btnSubmit_Click" ইভেন্ট হ্যান্ডলারটি অ্যাসাইন করা হয়েছে, যার মাধ্যমে সার্ভারে ক্লিক ইভেন্টটি প্রসেস করা হবে।

  3. Label Control:

    <label id="lblMessage" runat="server">Hello World</label>
    

    Label কন্ট্রোলটি সাধারণ HTML <label> ট্যাগের মতো কাজ করে, তবে এটি সার্ভার-সাইডে ডাইনামিকভাবে পরিবর্তন করা যায়।


HTML Server Controls এর ব্যবহার

HTML Server Controls ব্যবহারের জন্য প্রথমে runat="server" অ্যাট্রিবিউটটি কন্ট্রোলের মধ্যে যোগ করতে হয়। এই অ্যাট্রিবিউটটি ASP.NET কে জানায় যে, এই কন্ট্রোলটি একটি সার্ভার-সাইড কন্ট্রোল হবে এবং সার্ভারে ইভেন্ট হ্যান্ডলিং বা কোড প্রক্রিয়া করা যাবে।

উদাহরণ: Button কন্ট্রোলের ইভেন্ট হ্যান্ডলিং

<asp:Button id="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />

এখানে btnSubmit কন্ট্রোলটির ক্লিক ইভেন্ট btnSubmit_Click মেথডের মাধ্যমে প্রসেস করা হবে। এই ইভেন্টটি কোড-বিহাইন্ড ফাইলে তৈরি করা হবে:

protected void btnSubmit_Click(object sender, EventArgs e)
{
    lblMessage.Text = "Button clicked!";
}

এভাবে, HTML Server Controls এর মাধ্যমে সিম্পল HTML কন্ট্রোলগুলোকে ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য ব্যবহার করা সম্ভব।


HTML Server Controls এর সুবিধা

  • ড্র্যাগ-এন্ড-ড্রপ ইন্টারফেস: Visual Studio তে HTML কন্ট্রোলগুলোকে সহজেই অ্যাড করতে পারেন।
  • ইভেন্ট-ড্রিভেন মডেল: HTML কন্ট্রোলগুলোকে ইভেন্ট হ্যান্ডলিংয়ের মাধ্যমে কার্যকরী করা যায়।
  • কোড-বিহাইন্ড সাপোর্ট: এই কন্ট্রোলগুলোতে কোড-বিহাইন্ড ফাইলের মাধ্যমে ফাংশনালিটি যোগ করা যায়।
  • সার্ভার সাইড প্রক্রিয়াকরণ: কন্ট্রোলগুলোর মধ্যে সার্ভার সাইড লজিক প্রয়োগ করা সম্ভব।

HTML Server Controls এর সীমাবদ্ধতা

  • পারফরম্যান্স ইস্যু: ViewState এর মাধ্যমে স্টেট ট্র্যাক করা হয়ে থাকে, যা অতিরিক্ত ডাটা পাঠাতে পারে এবং ওয়েব অ্যাপ্লিকেশনের পারফরম্যান্স কমিয়ে দিতে পারে।
  • লিমিটেড কাস্টমাইজেশন: HTML Server Controls ততটা কাস্টমাইজযোগ্য নয় যতটা Web Server Controls (যেমন Button, TextBox ইত্যাদি)।

HTML Server Controls ASP.NET Web Forms এর একটি শক্তিশালী ফিচার যা ডেভেলপারদের সিম্পল HTML কন্ট্রোলগুলোকে ডাইনামিক ও সার্ভার-সাইড কন্ট্রোল হিসেবে ব্যবহার করার সুযোগ দেয়। এটি বিশেষ করে সহজ ওয়েব অ্যাপ্লিকেশন তৈরি করতে কার্যকরী।

common.content_added_by

Web Server Controls (TextBox, Button, Label, DropDownList, ইত্যাদি)

205
205

ASP.NET Web Forms এ Web Server Controls হলো এমন কন্ট্রোলস যা server-side processing এ ব্যবহৃত হয় এবং স্বয়ংক্রিয়ভাবে HTML এ রূপান্তরিত হয়। এগুলো ডেভেলপারদের জন্য ডাইনামিক ওয়েব পেজ তৈরি করা সহজ করে তোলে। Web Server Controls ডাটা বাইন্ডিং, ইভেন্ট হ্যান্ডলিং এবং স্টেট ম্যানেজমেন্টের মাধ্যমে ওয়েব অ্যাপ্লিকেশনকে আরও কার্যকরী করে তোলে।

এগুলো সাধারণ HTML controls এর তুলনায় বেশি ফিচার সমৃদ্ধ এবং ক্লায়েন্ট-সাইডের সাথে ইন্টারঅ্যাক্টিভ হয়। এখানে কিছু গুরুত্বপূর্ণ Web Server Controls এর বিস্তারিত আলোচনা করা হল:


TextBox Control

TextBox একটি খুব সাধারণ এবং গুরুত্বপূর্ণ কন্ট্রোল যা ব্যবহারকারীর কাছ থেকে ইনপুট গ্রহণ করতে ব্যবহৃত হয়। এটি একটি server-side control, যার ফলে কোড-বিহাইন্ড ফাইলে এর ভ্যালু programmatically অ্যাক্সেস করা যায়।

ব্যবহার:

<asp:TextBox ID="txtName" runat="server"></asp:TextBox>

বৈশিষ্ট্য:

  • TextMode: সাধারণ টেক্সট, পাসওয়ার্ড, বা মাল্টি-লাইন টেক্সট এর জন্য ব্যবহৃত হয়।
  • Text: ইউজার ইনপুটের মান রাখে।
  • MaxLength: ইনপুটের জন্য সর্বোচ্চ দৈর্ঘ্য নির্ধারণ করে।

উদাহরণ:

<asp:TextBox ID="txtEmail" runat="server" TextMode="Email"></asp:TextBox>

Button Control

Button কন্ট্রোলটি ইউজারের ইন্টারঅ্যাকশনের জন্য খুব গুরুত্বপূর্ণ। এটি একটি ইভেন্ট তৈরি করে যেমন, Click ইভেন্ট, যা কোড-বিহাইন্ড ফাইলে কার্যকরী হয়। এই কন্ট্রোলটি ব্যবহার করে ইউজার ইন্টারঅ্যাকশনগুলিকে কার্যকর করা যায়।

ব্যবহার:

<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />

বৈশিষ্ট্য:

  • Text: বাটনের প্রদর্শিত টেক্সট।
  • OnClick: ইভেন্ট হ্যান্ডলার যা বাটন ক্লিক হলে কার্যকর হয়।
  • Enabled: বাটনটি অ্যাকটিভ বা ইনঅ্যাকটিভ করা যায়।

উদাহরণ:

protected void btnSubmit_Click(object sender, EventArgs e)
{
    lblMessage.Text = "Submitted Successfully!";
}

Label Control

Label কন্ট্রোলটি UI তে তথ্য প্রদর্শন করতে ব্যবহৃত হয়। এটি শুধুমাত্র রিড-অনলি (read-only) টেক্সট প্রদর্শন করে এবং ইউজার থেকে ইনপুট নেয় না।

ব্যবহার:

<asp:Label ID="lblMessage" runat="server" Text="Hello, World!"></asp:Label>

বৈশিষ্ট্য:

  • Text: প্রদর্শিত টেক্সট।
  • ForeColor: টেক্সটের রঙ পরিবর্তন করতে ব্যবহৃত হয়।
  • Visible: লেবেলটি দেখানো হবে কিনা তা নিয়ন্ত্রণ করা যায়।

উদাহরণ:

<asp:Label ID="lblError" runat="server" Text="Please enter a valid email address" ForeColor="Red" Visible="False"></asp:Label>

DropDownList Control

DropDownList একটি select কন্ট্রোল যা ব্যবহারকারীদের একটি ড্রপডাউন থেকে বিকল্প নির্বাচন করতে দেয়। এটি ডাটা বাইন্ডিং এবং নির্বাচিত মানের জন্য খুব উপযোগী।

ব্যবহার:

<asp:DropDownList ID="ddlCountry" runat="server">
    <asp:ListItem Text="Select Country" Value="" />
    <asp:ListItem Text="Bangladesh" Value="BD" />
    <asp:ListItem Text="India" Value="IN" />
</asp:DropDownList>

বৈশিষ্ট্য:

  • Items: ড্রপডাউন লিস্টে আইটেম যুক্ত করা হয়।
  • SelectedValue: নির্বাচিত মানের অ্যাক্সেস দেয়।
  • AutoPostBack: মান পরিবর্তন হলে পেজ রিফ্রেশ হবে কিনা তা নিয়ন্ত্রণ করা যায়।

উদাহরণ:

<asp:DropDownList ID="ddlFruit" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlFruit_SelectedIndexChanged">
    <asp:ListItem Text="Select Fruit" Value="" />
    <asp:ListItem Text="Apple" Value="1" />
    <asp:ListItem Text="Banana" Value="2" />
</asp:DropDownList>
protected void ddlFruit_SelectedIndexChanged(object sender, EventArgs e)
{
    lblSelectedFruit.Text = "You selected: " + ddlFruit.SelectedItem.Text;
}

CheckBox Control

CheckBox কন্ট্রোলটি একটি টিক চিহ্ন (tick mark) প্রদর্শন করে এবং ব্যবহারকারীদের একটি বা একাধিক অপশন নির্বাচন করার সুযোগ দেয়।

ব্যবহার:

<asp:CheckBox ID="chkAgree" runat="server" Text="I agree to the terms and conditions" />

বৈশিষ্ট্য:

  • Checked: চেকবক্সের অবস্থা চেক বা আনচেক করা।
  • Text: চেকবক্সের পাশে প্রদর্শিত টেক্সট।

উদাহরণ:

if (chkAgree.Checked)
{
    lblMessage.Text = "You agreed to the terms.";
}
else
{
    lblMessage.Text = "You must agree to the terms.";
}

Summary

ASP.NET Web Forms এ Web Server Controls হল এমন কন্ট্রোলস যা server-side processing এর মাধ্যমে ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এই কন্ট্রোলসগুলি ইভেন্ট হ্যান্ডলিং, ডাটা বাইন্ডিং এবং স্টেট ম্যানেজমেন্টের জন্য ব্যবহৃত হয়, যা অ্যাপ্লিকেশনকে আরও কার্যকরী এবং ইন্টারঅ্যাকটিভ করে তোলে। TextBox, Button, Label, DropDownList, এবং অন্যান্য কন্ট্রোলস ওয়েব অ্যাপ্লিকেশনের বিভিন্ন প্রয়োজন মেটাতে সহায়তা করে।

common.content_added_by

Data-bound Controls (GridView, Repeater, DataList)

202
202

ASP.NET Web Forms এ Data-bound Controls এমন কন্ট্রোলস যা ডেটাবেস বা অন্য কোনো ডেটা সোর্স থেকে ডেটা বাইন্ড করে ওয়েব পেজে প্রদর্শন করতে ব্যবহৃত হয়। এই কন্ট্রোলস ডেটা ডিসপ্লে এবং data binding প্রক্রিয়া সহজ করে তোলে। GridView, Repeater, এবং DataList হলো এমন কিছু জনপ্রিয় Data-bound Controls, যা ডেটা প্রদর্শন করতে ব্যবহৃত হয়।


GridView Control

GridView হলো সবচেয়ে জনপ্রিয় এবং শক্তিশালী ডেটা-বাইন্ড কন্ট্রোল, যা বড় এবং জটিল ডেটাসেটগুলিকে টেবিল আকারে প্রদর্শন করে। এটি ডেটার ওপর বিভিন্ন ধরনের অপারেশন যেমন edit, delete, update, paging ইত্যাদি সাপোর্ট করে।

বৈশিষ্ট্য:

  • AutoGenerateColumns: যখন AutoGenerateColumns বৈশিষ্ট্যটি true থাকে, তখন GridView স্বয়ংক্রিয়ভাবে ডেটা সোর্সের কলামগুলো তৈরি করে।
  • Paging: পেজিনেশন সাপোর্ট করে, যার মাধ্যমে বড় ডেটাসেট সহজে পেজে ভাগ করে দেখানো যায়।
  • Sorting: ডেটাকে কলামের ভিত্তিতে সাজানো যায়।
  • Editing and Deleting: GridView এর মাধ্যমে ডেটা সম্পাদনা এবং মুছে ফেলা যায়।
  • TemplateFields: কাস্টমাইজড কলাম তৈরি করতে TemplateField ব্যবহার করা যায়।

উদাহরণ:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="True" DataSourceID="SqlDataSource1">
</asp:GridView>

এখানে, SqlDataSource1 একটি ডেটা সোর্স যা GridView কে ডেটা প্রদান করবে।


Repeater Control

Repeater কন্ট্রোল ডেটা প্রদর্শনের জন্য সবচেয়ে লাইটওয়েট এবং কাস্টমাইজড কন্ট্রোল। এটি ডেটার প্রতিটি আইটেমকে কাস্টম টেমপ্লেটের মাধ্যমে পুনরাবৃত্তি করে দেখায়। Repeater সাধারণত ছোট এবং স্বতন্ত্র ডেটাসেটগুলো প্রদর্শন করতে ব্যবহৃত হয়।

বৈশিষ্ট্য:

  • ItemTemplate: প্রতিটি আইটেমের জন্য কাস্টম টেমপ্লেট প্রদান করা যায়।
  • AlternatingItemTemplate: প্যারালাল আইটেমগুলো আলাদা ভাবে প্রদর্শন করতে AlternatingItemTemplate ব্যবহার করা হয়।
  • EmptyDataTemplate: যদি ডেটা না থাকে তবে এখানে একটি কাস্টম টেমপ্লেট প্রদর্শিত হবে।

উদাহরণ:

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
    <ItemTemplate>
        <div><%# Eval("ColumnName") %></div>
    </ItemTemplate>
</asp:Repeater>

এখানে, ColumnName হল ডেটাবেসের কলামের নাম, এবং SqlDataSource1 হল ডেটা সোর্স।


DataList Control

DataList কন্ট্রোল একটি লিস্ট ভিত্তিক ডেটা-বাইন্ড কন্ট্রোল, যা ডেটা তালিকা হিসেবে উপস্থাপন করে। এটি Repeater এর মতো, তবে এতে কিছু অতিরিক্ত বৈশিষ্ট্য রয়েছে, যেমন layout options এবং selection অপশন।

বৈশিষ্ট্য:

  • RepeatColumns: ডেটার আইটেমগুলো একাধিক কলামে প্রদর্শন করতে RepeatColumns ব্যবহার করা যায়।
  • ItemTemplate: ডেটার প্রতি আইটেম কাস্টম টেমপ্লেট হিসেবে প্রদর্শন করা যায়।
  • Selection: নির্দিষ্ট আইটেম নির্বাচন করতে SelectedItemTemplate ব্যবহার করা হয়।
  • AlternatingItemTemplate: প্রতিটি অন্য আইটেমে আলাদা স্টাইল প্রয়োগ করা যায়।

উদাহরণ:

<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1">
    <ItemTemplate>
        <div><%# Eval("ColumnName") %></div>
    </ItemTemplate>
</asp:DataList>

এখানে, ColumnName ডেটাবেসের কলামের নাম এবং SqlDataSource1 হল ডেটা সোর্স।


GridView, Repeater, এবং DataList এর মধ্যে পার্থক্য

বৈশিষ্ট্যGridViewRepeaterDataList
ব্যবহারবড় ডেটাসেট, পেজিং, সোর্টিং, এডিটিংছোট ডেটাসেট, কাস্টমাইজড ডিসপ্লেছোট ডেটাসেট, কাস্টম লেআউট
ডেটা অপারেশনEdit, Delete, Update, Pagingকাস্টম অপারেশন প্রয়োজনকাস্টম লেআউট এবং সিলেকশন
পেজিনেশনসাপোর্ট করেসাপোর্ট করে নাসাপোর্ট করে না
কাস্টমাইজেশনঅনেক কাস্টমাইজেশন সাপোর্ট করেপূর্ণ কাস্টমাইজেশন সাপোর্ট করেকিছুটা কাস্টমাইজেশন সাপোর্ট করে
পারফরম্যান্সবড় ডেটাসেটের জন্য অপটিমাইজডছোট ডেটাসেটের জন্য দ্রুতছোট ডেটাসেটের জন্য দ্রুত

উপসংহার

GridView, Repeater, এবং DataList তিনটি জনপ্রিয় Data-bound controls, যা ডেটা বাইন্ডিং এবং ডিসপ্লে করার জন্য ব্যবহৃত হয়। GridView বড় ডেটাসেটের জন্য উপযুক্ত, যেখানে Repeater এবং DataList ছোট এবং কাস্টম লেআউট ডেটা ডিসপ্লে করার জন্য আদর্শ। এগুলির মধ্যে পার্থক্যগুলো জানতে পারলে সঠিক কন্ট্রোল নির্বাচন করা সহজ হয়।

common.content_added_by

Validation Controls (RequiredFieldValidator, RangeValidator, ইত্যাদি)

189
189

ASP.NET Web Forms এ Validation Controls ব্যবহার করা হয় ইউজারের ইনপুট ডেটা যাচাই করার জন্য, যাতে শুধুমাত্র বৈধ তথ্য গ্রহণ করা হয়। এগুলি ইউজারের ইনপুটের ভুলগুলো ধরতে সহায়তা করে এবং ব্যবহারকারীর কাছে সঠিক বার্তা প্রদর্শন করে। এগুলোর মাধ্যমে আপনি server-side validation (সার্ভারে পরীক্ষা করা) করতে পারেন, যা client-side validation এর তুলনায় আরো নিরাপদ।

ASP.NET Web Forms এ বিভিন্ন ধরনের Validation Controls রয়েছে, যেমন RequiredFieldValidator, RangeValidator, RegularExpressionValidator, CompareValidator, CustomValidator, এবং ValidationSummary


RequiredFieldValidator

RequiredFieldValidator কন্ট্রোলটি ইউজারের ইনপুট নিশ্চিত করে যে একটি নির্দিষ্ট ফিল্ডে কোনো মান প্রদান করা হয়েছে। এটি মূলত ফর্মের জন্য অত্যন্ত গুরুত্বপূর্ণ যেগুলোতে একটি নির্দিষ্ট ইনপুট ফিল্ড (যেমন নাম, ইমেইল বা পাসওয়ার্ড) ফাঁকা রাখা যেতে পারে না।

ব্যবহার:

<asp:TextBox ID="txtName" runat="server" />
<asp:RequiredFieldValidator 
    ID="rfvName" 
    runat="server" 
    ControlToValidate="txtName" 
    ErrorMessage="Name is required." 
    ForeColor="Red" />

এখানে, rfvName কন্ট্রোলটি txtName (TextBox) কন্ট্রোলটির জন্য ইনপুট যাচাই করবে এবং যদি ফিল্ড ফাঁকা থাকে তবে ErrorMessage প্রদর্শন করবে।


RangeValidator

RangeValidator কন্ট্রোলটি একটি নির্দিষ্ট মানের পরিসরে ইনপুট যাচাই করে। এটি সাধারণত numerical data (যেমন বয়স, সংখ্যা) যাচাই করতে ব্যবহার করা হয়, যাতে তা নির্ধারিত পরিসরের বাইরে না যায়।

ব্যবহার:

<asp:TextBox ID="txtAge" runat="server" />
<asp:RangeValidator 
    ID="rvAge" 
    runat="server" 
    ControlToValidate="txtAge" 
    MinimumValue="18" 
    MaximumValue="99" 
    Type="Integer" 
    ErrorMessage="Age must be between 18 and 99." 
    ForeColor="Red" />

এখানে, rvAge কন্ট্রোলটি txtAge ইনপুট ফিল্ডের বয়স যাচাই করবে এবং তা 18 এবং 99 এর মধ্যে থাকতে হবে। অন্যথায়, ErrorMessage প্রদর্শন করবে।


RegularExpressionValidator

RegularExpressionValidator কন্ট্রোলটি ইউজারের ইনপুট যাচাই করার জন্য regular expressions ব্যবহার করে। এটি বিশেষত ইমেইল, ফোন নম্বর, পাসওয়ার্ড ইত্যাদি ফরম্যাট যাচাই করতে ব্যবহৃত হয়।

ব্যবহার:

<asp:TextBox ID="txtEmail" runat="server" />
<asp:RegularExpressionValidator 
    ID="revEmail" 
    runat="server" 
    ControlToValidate="txtEmail" 
    ValidationExpression="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$" 
    ErrorMessage="Please enter a valid email address." 
    ForeColor="Red" />

এখানে, revEmail কন্ট্রোলটি txtEmail ইনপুটের জন্য একটি বৈধ ইমেইল ঠিকানা যাচাই করবে।


CompareValidator

CompareValidator কন্ট্রোলটি দুটি ইনপুটের মান তুলনা করে, যেমন পাসওয়ার্ড এবং কনফার্ম পাসওয়ার্ড। এটি সাধারণত দুটি ইনপুট ফিল্ডের মধ্যে মিল রেখে যাচাই করতে ব্যবহৃত হয়।

ব্যবহার:

<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" />
<asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password" />
<asp:CompareValidator 
    ID="cvPassword" 
    runat="server" 
    ControlToValidate="txtConfirmPassword" 
    ControlToCompare="txtPassword" 
    ErrorMessage="Passwords do not match." 
    ForeColor="Red" />

এখানে, cvPassword কন্ট্রোলটি txtPassword এবং txtConfirmPassword এর মান তুলনা করবে এবং যদি তারা মিলে না যায়, একটি ত্রুটি বার্তা প্রদর্শন করবে।


CustomValidator

CustomValidator কন্ট্রোলটি ইউজারের ইনপুট যাচাই করার জন্য কাস্টম কোড ব্যবহার করতে দেয়। এর মাধ্যমে আপনি আপনার নিজস্ব যাচাই ফাংশন তৈরি করতে পারেন, যা আপনার অ্যাপ্লিকেশনের প্রয়োজন অনুযায়ী কাজ করবে।

ব্যবহার:

<asp:TextBox ID="txtPhone" runat="server" />
<asp:CustomValidator 
    ID="cvPhone" 
    runat="server" 
    ControlToValidate="txtPhone" 
    OnServerValidate="PhoneValidator" 
    ErrorMessage="Invalid phone number." 
    ForeColor="Red" />

Code-behind (C#):

protected void PhoneValidator(object source, ServerValidateEventArgs args)
{
    // Custom validation logic (e.g., validate phone number format)
    if (args.Value.Length == 10 && args.Value.All(char.IsDigit))
    {
        args.IsValid = true;
    }
    else
    {
        args.IsValid = false;
    }
}

এখানে, PhoneValidator ফাংশনটি txtPhone ইনপুটের ফোন নম্বর যাচাই করবে এবং এটি যদি সঠিক হয় তবে ভ্যালিডেশন সফল হবে, অন্যথায় ত্রুটি বার্তা প্রদর্শন হবে।


ValidationSummary

ValidationSummary কন্ট্রোলটি সমস্ত ভ্যালিডেশন কন্ট্রোলের ত্রুটি বার্তা একত্রিত করে প্রদর্শন করে। এটি সাধারণত একটি পেজের উপরের দিকে একটি সন্নিবেশিত ত্রুটি বার্তা হিসেবে দেখানো হয়।

ব্যবহার:

<asp:ValidationSummary 
    ID="vsSummary" 
    runat="server" 
    ShowSummary="true" 
    ShowMessageBox="false" 
    HeaderText="Please correct the following errors:" 
    ForeColor="Red" />

এখানে, vsSummary কন্ট্রোলটি সমস্ত ভ্যালিডেশন কন্ট্রোলের ত্রুটি বার্তা একত্রিত করবে এবং পেজের উপর একটি সারাংশ হিসেবে প্রদর্শন করবে।


উপসংহার

ASP.NET Web Forms এ Validation Controls ইউজারের ইনপুট যাচাই করতে অত্যন্ত কার্যকরী এবং সুরক্ষিত উপায়। এগুলি ব্যবহার করে আপনি আপনার ওয়েব অ্যাপ্লিকেশনের ডেটা ভ্যালিডেশন সহজ করতে পারবেন এবং ইউজারকে ত্রুটি বার্তা প্রদর্শন করতে পারবেন যাতে সঠিক ইনপুট সংগ্রহ করা যায়।

common.content_added_by

User Controls এবং Custom Controls তৈরি

193
193

ASP.NET Web Forms এ User Controls এবং Custom Controls দুটি গুরুত্বপূর্ণ কনসেপ্ট যা ডেভেলপারদের পুনরায় ব্যবহৃত উপাদান তৈরি করতে সহায়তা করে। এগুলি ব্যবহার করে আপনি আপনার অ্যাপ্লিকেশনের জন্য কাস্টমাইজড UI কন্ট্রোল তৈরি করতে পারবেন, যা সহজে পুনরায় ব্যবহারযোগ্য এবং রক্ষণাবেক্ষণযোগ্য।


User Controls

User Controls হলো ASP.NET এর একটি রিয়ুজেবল কন্ট্রোল যা একটি .ascx ফাইল হিসেবে তৈরি হয়। এটি বিভিন্ন UI কন্ট্রোল এবং কাস্টম লজিক সংবলিত একটি কমপ্লিট ব্লক। User Controls সাধারণত পেজে include করা হয় এবং একাধিক পেজে পুনরায় ব্যবহার করা যেতে পারে।

User Control তৈরির ধাপ:

  1. User Control তৈরি করা:
    • Visual Studio এ একটি নতুন Web User Control তৈরি করতে হবে।
    • Right-click করুন আপনার প্রজেক্টে > Add > New Item > Web User Control > এটি একটি .ascx ফাইল তৈরি করবে।
  2. UI কন্ট্রোল ডিজাইন:
    • .ascx ফাইলের মধ্যে HTML এবং ASP.NET controls যেমন TextBox, Button, Label ইত্যাদি রাখতে পারেন।
    • উদাহরণ:

      <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
      <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
      
  3. Code-Behind যুক্ত করা:
    • .ascx.cs ফাইলে কন্ট্রোলের কার্যকারিতা এবং ইভেন্ট হ্যান্ডলিং লিখতে হবে।
    • উদাহরণ:

      protected void btnSubmit_Click(object sender, EventArgs e)
      {
          string userName = txtUserName.Text;
          Response.Write("Hello, " + userName);
      }
      
  4. User Control পেজে যুক্ত করা:
    • কোনো পেজে User Control ব্যবহার করতে হলে প্রথমে পেজে সেই কন্ট্রোলটি Register করতে হবে এবং পরে কন্ট্রোলটিকে Add করতে হবে।
    • উদাহরণ:

      <%@ Register Src="~/Controls/MyUserControl.ascx" TagPrefix="uc" TagName="MyUserControl" %>
      <uc:MyUserControl ID="UserControl1" runat="server" />
      

Custom Controls

Custom Controls হলো আরও বেশি কাস্টমাইজড কন্ট্রোল, যা ASP.NET এর ফ্রেমওয়ার্কের অংশ হিসেবে তৈরি করা হয়। এগুলি server-side controls এর মতো কাজ করে এবং সম্পূর্ণ নতুন কন্ট্রোল তৈরি করতে সাহায্য করে, যা সাধারণত UI controls এর বাইরে আরও বেশি লজিক, স্টাইল বা কার্যকারিতা থাকতে পারে। Custom Controls .cs বা .vb ফাইলে তৈরি হয় এবং এগুলি সাধারণত কন্ট্রোল লাইব্রেরি হিসেবে ব্যবহার করা হয়।

Custom Control তৈরির ধাপ:

  1. Custom Control ক্লাস তৈরি:
    • Custom Control তৈরির জন্য একটি ক্লাস তৈরি করতে হবে যা System.Web.UI.Control অথবা System.Web.UI.WebControls.WebControl থেকে ইনহেরিট করে।
    • উদাহরণ:

      public class MyCustomControl : WebControl
      {
          protected override void Render(HtmlTextWriter writer)
          {
              writer.Write("<h3>Welcome to My Custom Control!</h3>");
          }
      }
      
  2. Custom Control ব্যবহার করা:
    • একবার Custom Control তৈরি হলে, এটি Web.config অথবা Register ট্যাগের মাধ্যমে পেজে যুক্ত করা হয়।
    • উদাহরণ:

      <%@ Register TagPrefix="cc" TagName="MyCustomControl" Src="~/Controls/MyCustomControl.cs" %>
      <cc:MyCustomControl ID="customControl1" runat="server" />
      
  3. Custom Control এর স্টাইলিং এবং ইন্টারেকশন:
    • Custom Control এ CSS বা JavaScript যোগ করতে পারেন, অথবা কন্ট্রোলটির কার্যকারিতা আরও বাড়ানোর জন্য আপনি কাস্টম properties এবং events তৈরি করতে পারেন।
    • উদাহরণ:

      [Bindable(true)]
      public string Title
      {
          get { return (string)ViewState["Title"]; }
          set { ViewState["Title"] = value; }
      }
      

User Control এবং Custom Control এর মধ্যে পার্থক্য

FeatureUser ControlCustom Control
Type.ascx ফাইল.cs বা .vb ফাইল
Customizationসীমিত, তবে সহজ ব্যবহারযোগ্যপূর্ণ কাস্টমাইজেশন সম্ভব
Reusabilityএকাধিক পেজে ব্যবহার করা যায়একাধিক অ্যাপ্লিকেশনে ব্যবহৃত হতে পারে
Control TypeASP.NET কন্ট্রোলের গ্রুপসম্পূর্ণ কাস্টম কন্ট্রোল
Complexityতুলনামূলক সহজবেশি জটিল এবং কাস্টম প্রোপার্টি

User Control এবং Custom Control এর উপকারিতা

  • User Controls:
    • দ্রুত এবং সহজে তৈরি করা যায়।
    • পুনঃব্যবহারযোগ্য UI কন্ট্রোল তৈরি করতে সহায়তা করে।
    • বড় অ্যাপ্লিকেশনের UI ডিভাইস সহজে সংগঠিত করা যায়।
  • Custom Controls:
    • পূর্ণ কাস্টমাইজেশন এবং কন্ট্রোলের আচরণ নিয়ন্ত্রণ করা যায়।
    • UI-এর বাইরে ফাংশনালিটি যোগ করার জন্য উপযুক্ত।
    • সম্পূর্ণ নতুন কন্ট্রোল তৈরি করার সুযোগ দেয়।

উপসংহার

User Controls এবং Custom Controls উভয়ই ASP.NET Web Forms এ ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে কার্যকরী এবং শক্তিশালী উপাদান। যদি আপনার প্রয়োজন হয় একটি সহজ এবং পুনরায় ব্যবহারযোগ্য UI কন্ট্রোল তৈরি করার, তবে User Control ব্যবহার করুন। তবে, যদি আপনি আরও জটিল বা কাস্টম কার্যকারিতা বা স্টাইলের কন্ট্রোল তৈরি করতে চান, তবে Custom Control একটি সেরা অপশন হতে পারে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion